export interface IProps {
  global: any;
  power: any;
  buttonPermissions: any;
  menuCode: string;
}

export interface IOptionType {
  label?: string;
  value?: string | number;
  children?: IOptionType[];
}

export interface IOrginDealElementOptions {
  id?: number;
  label?: string;
  value?: string;
  children?: IOrginDealElementOptions[];
}
export interface IDealElementOptions {
  id?: number;
  key?: string;
  label?: string;
  parentKey?: number;
  regionId?: string;
  title: string;
  value?: string;
  children?: IDealElementOptions[];
}

export type IDealElementDataObj = Record<number, IDealElementOptions[]>;
export interface ISearchFormData {
  dealElementOptions: IDealElementOptions[];
  dealElementModalOptions: IDealElementOptions[];
  dealElementDataObj: IDealElementDataObj;
  originDealElementOptions: IOrginDealElementOptions[];
}

export interface IFormValue {
  beginDate?: string; //开始日期
  endDate?: string; //结束日期
  nodeIdList?: string | string[]; //节点id
  provinceId?: string; //省份ID
  blockName?: string; //阻塞通道名称
  nodeName?: string; // 节点名称
  marketId?: string;
  isAppointedDay?: boolean;
}

export interface IPriceDiffListDataType {
  calendarDate?: string;
  values?: IValuesType[];
}

export interface IValuesType {
  diffPriceSum?: number;
  blockName?: string;
}

export interface IStationNodeListType {
  nodeId?: string;
  nodeName?: string;
  nodeNameAlias?: string;
  provinceId?: string;
  provinceName?: string;
  rank?: number;
  stationList?: IStationListType[];
}

export interface IStationListType {
  stationId?: string;
  stationName?: string;
}

export interface IEchartParamsType {
  blockName?: string;
  date?: string;
  mode?: IPointerType;
  nodeX?: string;
  nodeY?: string;
}

export interface IDateChartsDataType {
  block: IDateChartsValueType;
  nodeX: IDateChartsValueType;
  nodeY: IDateChartsValueType;
}

export interface IDateChartsValueType {
  id?: string;
  name?: string;
  values?: number[];
}

export enum IPointerType {
  NINETY_SIX_POINT = 96, //96点
  TWENTY_FOUR_POINT = 24, //24点
}

export enum IBlockingSpreadCorrelationPermissions {
  BLOCKPRICEDIFFPEARSONBUTTONWEB = 'BlockPriceDiffPearsonButtonWeb', // 阻塞价差分析导出按钮
}
